(set-info :source |fuzzsmt|)
(set-info :smt-lib-version 2.0)
(set-info :category "random")
(set-info :status unknown)
(set-logic QF_UF)
(declare-sort S0 0)
(declare-sort S1 0)
(declare-sort S2 0)
(declare-fun v0 () S0)
(declare-fun v1 () S1)
(declare-fun v2 () S2)
(declare-fun f0 ( S0) S2)
(declare-fun f1 ( S0 S0 S0) S1)
(declare-fun f2 ( S2) S2)
(declare-fun f3 ( S2 S0 S1) S2)
(declare-fun f4 ( S2 S2 S0) S0)
(declare-fun p0 ( S2 S0) Bool)
(declare-fun p1 ( S0) Bool)
(declare-fun p2 ( S1) Bool)
(declare-fun p3 ( S0) Bool)
(declare-fun p4 ( S1 S2) Bool)
(assert (let ((e3 (f2 v2)))
(let ((e4 (! (f2 v2) :named term4)))
(let ((e5 (! (f0 v0) :named term5)))
(let ((e6 (! (f3 e5 v0 v1) :named term6)))
(let ((e7 (! (f1 v0 v0 v0) :named term7)))
(let ((e8 (! (f3 e5 v0 v1) :named term8)))
(let ((e9 (! (f4 e8 e8 v0) :named term9)))
(let ((e10 (! (= e5 e8) :named term10)))
(let ((e11 (! (p4 e7 e8) :named term11)))
(let ((e12 (! (p3 v0) :named term12)))
(let ((e13 (! (p2 e7) :named term13)))
(let ((e14 (! (p1 e9) :named term14)))
(let ((e15 (! (p3 e9) :named term15)))
(let ((e16 (! (distinct e3 e6) :named term16)))
(let ((e17 (! (distinct v2 e8) :named term17)))
(let ((e18 (! (= v1 e7) :named term18)))
(let ((e19 (! (= e4 v2) :named term19)))
(let ((e20 (! (p3 v0) :named term20)))
(let ((e21 (! (p0 v2 e9) :named term21)))
(let ((e22 (! (ite e17 e9 v0) :named term22)))
(let ((e23 (! (ite e14 e8 e4) :named term23)))
(let ((e24 (! (ite e21 e9 v0) :named term24)))
(let ((e25 (! (ite e19 e3 e4) :named term25)))
(let ((e26 (! (ite e13 e9 e22) :named term26)))
(let ((e27 (! (ite e10 e22 e9) :named term27)))
(let ((e28 (! (ite e13 e24 v0) :named term28)))
(let ((e29 (! (ite e12 e5 e3) :named term29)))
(let ((e30 (! (ite e13 e7 e7) :named term30)))
(let ((e31 (! (ite e16 v2 e5) :named term31)))
(let ((e32 (! (ite e20 e6 v2) :named term32)))
(let ((e33 (! (ite e21 v1 v1) :named term33)))
(let ((e34 (! (ite e16 e28 e22) :named term34)))
(let ((e35 (! (ite e18 e23 e25) :named term35)))
(let ((e36 (! (ite e11 e28 e24) :named term36)))
(let ((e37 (! (ite e13 e31 e6) :named term37)))
(let ((e38 (! (ite e18 e7 e30) :named term38)))
(let ((e39 (! (ite e16 e34 v0) :named term39)))
(let ((e40 (! (ite e15 e32 e8) :named term40)))
(let ((e41 (! (= e4 e25) :named term41)))
(let ((e42 (! (= e40 e31) :named term42)))
(let ((e43 (! (p0 e23 e27) :named term43)))
(let ((e44 (! (p0 e25 e9) :named term44)))
(let ((e45 (! (= e30 e38) :named term45)))
(let ((e46 (! (p1 e26) :named term46)))
(let ((e47 (! (p0 e3 e26) :named term47)))
(let ((e48 (! (= e22 e28) :named term48)))
(let ((e49 (! (distinct e37 e23) :named term49)))
(let ((e50 (! (p3 v0) :named term50)))
(let ((e51 (! (p3 e24) :named term51)))
(let ((e52 (! (= e39 e27) :named term52)))
(let ((e53 (! (distinct e35 e35) :named term53)))
(let ((e54 (! (= e7 e33) :named term54)))
(let ((e55 (! (p1 e9) :named term55)))
(let ((e56 (! (p1 e9) :named term56)))
(let ((e57 (! (= v1 e38) :named term57)))
(let ((e58 (! (distinct e5 e25) :named term58)))
(let ((e59 (! (= e36 e36) :named term59)))
(let ((e60 (! (p1 e34) :named term60)))
(let ((e61 (! (distinct e8 e25) :named term61)))
(let ((e62 (! (p4 v1 e8) :named term62)))
(let ((e63 (! (distinct e29 v2) :named term63)))
(let ((e64 (! (= e6 e37) :named term64)))
(let ((e65 (! (distinct e32 e6) :named term65)))
(let ((e66 (! (p2 v1) :named term66)))
(let ((e67 (! (=> e20 e16) :named term67)))
(let ((e68 (! (xor e51 e51) :named term68)))
(let ((e69 (! (= e68 e68) :named term69)))
(let ((e70 (! (xor e45 e67) :named term70)))
(let ((e71 (! (= e17 e54) :named term71)))
(let ((e72 (! (or e19 e55) :named term72)))
(let ((e73 (! (ite e44 e52 e60) :named term73)))
(let ((e74 (! (xor e15 e72) :named term74)))
(let ((e75 (! (= e43 e18) :named term75)))
(let ((e76 (! (= e65 e14) :named term76)))
(let ((e77 (! (=> e56 e61) :named term77)))
(let ((e78 (! (=> e58 e76) :named term78)))
(let ((e79 (! (xor e73 e48) :named term79)))
(let ((e80 (! (xor e13 e12) :named term80)))
(let ((e81 (! (=> e77 e80) :named term81)))
(let ((e82 (! (= e49 e21) :named term82)))
(let ((e83 (! (or e82 e79) :named term83)))
(let ((e84 (! (not e11) :named term84)))
(let ((e85 (! (not e78) :named term85)))
(let ((e86 (! (and e63 e81) :named term86)))
(let ((e87 (! (or e83 e74) :named term87)))
(let ((e88 (! (or e57 e84) :named term88)))
(let ((e89 (! (=> e46 e69) :named term89)))
(let ((e90 (! (xor e85 e70) :named term90)))
(let ((e91 (! (not e87) :named term91)))
(let ((e92 (! (=> e64 e64) :named term92)))
(let ((e93 (! (or e42 e75) :named term93)))
(let ((e94 (! (or e90 e86) :named term94)))
(let ((e95 (! (xor e92 e89) :named term95)))
(let ((e96 (! (=> e93 e71) :named term96)))
(let ((e97 (! (ite e53 e95 e41) :named term97)))
(let ((e98 (! (not e88) :named term98)))
(let ((e99 (! (ite e10 e91 e47) :named term99)))
(let ((e100 (! (=> e66 e94) :named term100)))
(let ((e101 (! (and e98 e96) :named term101)))
(let ((e102 (! (and e62 e100) :named term102)))
(let ((e103 (! (and e59 e50) :named term103)))
(let ((e104 (! (not e97) :named term104)))
(let ((e105 (! (=> e104 e102) :named term105)))
(let ((e106 (! (not e105) :named term106)))
(let ((e107 (! (=> e99 e103) :named term107)))
(let ((e108 (! (or e106 e107) :named term108)))
(let ((e109 (! (and e101 e101) :named term109)))
(let ((e110 (! (or e109 e109) :named term110)))
(let ((e111 (! (and e108 e110) :named term111)))
e111
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

(check-sat)
(set-option :regular-output-channel "/dev/null")
(get-model)
(get-value (term4))
(get-value (term5))
(get-value (term6))
(get-value (term7))
(get-value (term8))
(get-value (term9))
(get-value (term10))
(get-value (term11))
(get-value (term12))
(get-value (term13))
(get-value (term14))
(get-value (term15))
(get-value (term16))
(get-value (term17))
(get-value (term18))
(get-value (term19))
(get-value (term20))
(get-value (term21))
(get-value (term22))
(get-value (term23))
(get-value (term24))
(get-value (term25))
(get-value (term26))
(get-value (term27))
(get-value (term28))
(get-value (term29))
(get-value (term30))
(get-value (term31))
(get-value (term32))
(get-value (term33))
(get-value (term34))
(get-value (term35))
(get-value (term36))
(get-value (term37))
(get-value (term38))
(get-value (term39))
(get-value (term40))
(get-value (term41))
(get-value (term42))
(get-value (term43))
(get-value (term44))
(get-value (term45))
(get-value (term46))
(get-value (term47))
(get-value (term48))
(get-value (term49))
(get-value (term50))
(get-value (term51))
(get-value (term52))
(get-value (term53))
(get-value (term54))
(get-value (term55))
(get-value (term56))
(get-value (term57))
(get-value (term58))
(get-value (term59))
(get-value (term60))
(get-value (term61))
(get-value (term62))
(get-value (term63))
(get-value (term64))
(get-value (term65))
(get-value (term66))
(get-value (term67))
(get-value (term68))
(get-value (term69))
(get-value (term70))
(get-value (term71))
(get-value (term72))
(get-value (term73))
(get-value (term74))
(get-value (term75))
(get-value (term76))
(get-value (term77))
(get-value (term78))
(get-value (term79))
(get-value (term80))
(get-value (term81))
(get-value (term82))
(get-value (term83))
(get-value (term84))
(get-value (term85))
(get-value (term86))
(get-value (term87))
(get-value (term88))
(get-value (term89))
(get-value (term90))
(get-value (term91))
(get-value (term92))
(get-value (term93))
(get-value (term94))
(get-value (term95))
(get-value (term96))
(get-value (term97))
(get-value (term98))
(get-value (term99))
(get-value (term100))
(get-value (term101))
(get-value (term102))
(get-value (term103))
(get-value (term104))
(get-value (term105))
(get-value (term106))
(get-value (term107))
(get-value (term108))
(get-value (term109))
(get-value (term110))
(get-value (term111))
(get-info :all-statistics)
